The present disclosures relate to compiling methods, and more particularly, to a parameterized layout or parameterized cell compiler and a method of compiling a parameterized cell.
Creating parameterized cells (hereinafter referred to as pcells) of a structure layout is a large task with prior known approaches. A structure layout can include, for example, a semiconductor device layout. The prior known approaches are very time intensive and cumbersome to write code for a parameterized cell given that the structure layout can be very complex. For any given library, there may exist on the order of 30-50 devices needing pcells to be created per technology. In addition, there may exist a number of different technologies that are in use concurrently. Furthermore, a number of new technologies can be introduced over a period of time. Accordingly, development and maintaining of a pcell library can be critical for various technology developments and designs.
FIG. 1 is a flow diagram view 10 of a prior known method of generating a parameterized cell. Upon an initiation of the method, at step 12, the compiler receives a structure layout as an input. The structure layout can be in the form of a file, such as a standard graphical design file for transferring and archiving graphical design data (i.e, a gds file). In response to receiving the input at step 12, the process continues at step 14 with a scanning operation. The scanning operation includes scanning of the structure layout for layer and basic coordinate information of shapes within the layout.
In step 16, the method queries whether there are any user added parameters, shape relationships, and/or specifications to be processed. If there are user added parameters, shape relationships, and/or specifications to be processed, the method proceeds to step 18 for adding the same. User added parameters, shape relationships, and/or specifications are associated with shape data as appropriate. The method then proceeds to step 20. On the other hand, if in step 16 there are no user added parameters, shape relationships, and/or specifications to be processed, the method proceeds directly to step 20.
In step 20, responsive to data generated by the scanning operation and optional user added parameters, the method generates code. The generated code includes computer readable instructions, wherein the computer readable instructions define a limited parameterized structure generation algorithm. Thereafter, the method ends.
The method of FIG. 1 suffers from various disadvantages. For example, the method of FIG. 1 does not address scalability. In addition, the shape generation algorithm of the method of FIG. 1 is coordinate based alone, and not easily adaptable to improved parameterization. Still further, the method of FIG. 1 does not provide any interpretation or mapping. As a result, the generated code produced by the method of FIG. 1 is inefficient, making it difficult to maintain and use.
Accordingly, there is a need for an improved method and apparatus for overcoming the problems in the art as discussed above.